package com.managed.bean;

import com.marlboroug.articlesbyauthors.ArticlesByAuthorsRemote;
import com.marlboroug.entity.Articlesbyauthors;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;

/**
 * Bean Managé pour la page d'accueil.
 *
 * @author Cyril Schumacher
 */
@ManagedBean(name = "home")
public final class HomeBean {
    // <editor-fold defaultstate="collapsed" desc="Membres.">
    // <editor-fold defaultstate="collapsed" desc="Enterprise JavaBeans.">
    /**
     * Gestion des articles par auteur.
     */
    @EJB
    private ArticlesByAuthorsRemote _articlesByAuthorsManager;
    // </editor-fold>

    /**
     * Liste des livres les plus achetés.
     */
    private List<Articlesbyauthors> _books;
    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc="Accesseurs/Mutateurs.">
    /**
     * Obtient la liste des livres les plus achetés.
     *
     * @return Retourne une liste.
     */
    public List<Articlesbyauthors> getBooks() {
        return _books;
    }
    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc="Initialisation.">
    /**
     * Initialise la classe après l'injection de dépendance.
     *
     * @see javax.annotation.PostConstruct
     */
    @PostConstruct
    public void initialize() {
        if (_books == null) {
            _books = _articlesByAuthorsManager.findArticlesIndex();
        }
    }
    // </editor-fold>
}
